import { useAuthStore } from '@/stores/auth'

// 路由守卫
export const setupRouterGuards = (router) => {
  // 全局前置守卫
  router.beforeEach(async (to, from, next) => {
    // 获取认证store
    const authStore = useAuthStore()
    
    // 如果访问的是登录或注册页面，直接放行
    if (to.path === '/auth/login' || to.path === '/auth/register') {
      // 如果已经登录，重定向到首页
      if (authStore.isLoggedIn) {
        next({ path: '/dashboard' })
      } else {
        next()
      }
      return
    }
    
    // 检查是否需要认证
    if (to.matched.some(record => record.meta.requiresAuth !== false)) {
      // 检查是否已登录
      if (!authStore.isLoggedIn) {
        // 未登录，重定向到登录页
        next({
          path: '/auth/login',
          query: { redirect: to.fullPath }
        })
      } else {
        // 已登录，允许访问
        next()
      }
    } else {
      // 不需要认证的页面，直接放行
      next()
    }
  })
}